package com.tmsps.ne4weixin.api.pc;

import com.tmsps.ne4weixin.config.PcConfig;

/**
 *	@ClassName: PCBaseAPI
 *	@Description: 
 *	@author: zhangwei(Mr.z).396033084@qq.com
 *	@date： 2022/09/15
 *	@Copyright: 行歌信息	
 */
public class PCBaseAPI {
	protected final PcConfig config;

	public PCBaseAPI(PcConfig config) {
		this.config = config;
	}
	
	/**
	 * 用户扫码登录PC网页端：
	 * 
	 * 参数					是否必须		说明
	 * appid				是			应用唯一标识
	 * redirect_uri			是			请使用 urlEncode 对链接进行处理
	 * response_type		是			填code
	 * scope				是			应用授权作用域，拥有多个作用域用逗号（,）分隔，网页应用目前仅填写snsapi_login
	 * state				否			用于保持请求和回调的状态，授权请求后原样带回给第三方。该参数可用于防止 csrf 攻击（跨站请求伪造攻击），建议第三方带上该参数，可设置为简单的随机数加 session 进行校验
	 * lang					否			界面语言，支持cn（中文简体）与en（英文），默认为cn
	 * 
	 */
	public static final String PC_SCAN_LOGIN = "https://open.weixin.qq.com/connect/qrconnect?appid=%s&redirect_uri=%s&response_type=code&scope=%s&state=%s#wechat_redirect";
	/**
	 * 通过 code 获取access_token
	 * 参数				是否必须	说明
	 * appid			是		应用唯一标识，在微信开放平台提交应用审核通过后获得
	 * secret			是		应用密钥AppSecret，在微信开放平台提交应用审核通过后获得
	 * code				是		填写第一步获取的 code 参数
	 * grant_type		是		填authorization_code
	 */
	public static final String OAUTH2_GET_ACCESS_TOKEN = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=%s&secret=%s&code=%s&grant_type=authorization_code";
	/**
	 * 获取用户个人信息（UnionID机制）
	 * 接口说明:此接口用于获取用户个人信息。
	 * 开发者可通过 OpenID 来获取用户基本信息。
	 * 特别需要注意的是，如果开发者拥有多个移动应用、网站应用和公众帐号，可通过获取用户基本信息中的 unionid 来区分用户的唯一性，
	 * 因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号，用户的 unionid 是唯一的。
	 * 换句话说，同一用户，对同一个微信开放平台下的不同应用，unionid是相同的。
	 * 请注意，在用户修改微信头像后，旧的微信头像 URL 将会失效，因此开发者应该自己在获取用户信息后，将头像图片保存下来，避免微信头像 URL 失效后的异常情况。
	 */
	public static final String GET_USERINFO = "https://api.weixin.qq.com/sns/userinfo?access_token=%s&openid=%s";
}
